import time
from datetime import datetime
import os
from picamera2 import Picamera2
from libcamera import Transform  # 用于纠正摄像头预览方向（可选）

# 初始化摄像头
picam2 = Picamera2()

# 配置摄像头参数（分辨率640x480，可调整）
config = picam2.create_still_configuration(
    main={"size": (640, 480)},
    transform=Transform(hflip=1, vflip=1)  # 若画面颠倒，可调整hflip/vflip为1（翻转）或0（不翻转）
)
picam2.configure(config)

# 启动摄像头
picam2.start()

# 桌面路径（确保正确）
desktop_path = os.path.expanduser("~/Desktop")
if not os.path.exists(desktop_path):
    os.makedirs(desktop_path)

try:
    while True:
        # 生成带时间戳的文件名（精确到毫秒，避免重复）
        timestamp = datetime.now().strftime("%Y%m%d_%H%M%S_%f")[:-3]
        file_path = os.path.join(desktop_path, f"capture_{timestamp}.jpg")
        
        # 拍摄并保存图片
        picam2.capture_file(file_path)
        print(f"已保存：{file_path}")
        
        # 等待1秒
        time.sleep(1)
except KeyboardInterrupt:
    # 按Ctrl+C停止程序
    print("\n程序已终止")
finally:
    # 关闭摄像头
    picam2.stop()